;; 我的一些舒服的小配置
;;========================================
;; 外观设置
;;========================================

;;禁用工具栏
(tool-bar-mode nil)

;;禁用菜单栏，下面会用F10 开启关闭菜单
(menu-bar-mode nil)

;; Frame大小设定
(setq default-frame-alist
      '((width . 100)
        (height . 50)
        (left . 80)
        (top . 20)))

;;禁用启动画面
(setq inhibit-startup-message t)

;;=======================================
	  
	  



;;========================================
;; 缓冲区
;;========================================

;;设定行距
(setq default-line-spacing 0)

;;页宽 
(setq default-fill-column 90)

;;缺省模式 text-mode
(setq default-major-mode 'text-mode)

;;设置删除纪录
(setq kill-ring-max 200)

;;以空行结束
(setq require-final-newline t) 


;;语法加亮
(global-font-lock-mode t)

;;高亮显示区域选择
(transient-mark-mode t)

;;页面平滑滚动， scroll-margin 5 靠近屏幕边沿3行时开始滚动，可以很好的看到上下文。
(setq scroll-margin 5
      scroll-conservatively 10000)

;高亮显示成对括号，但不来回弹跳
(show-paren-mode t)
(setq show-paren-style 'parentheses)


;;鼠标指针规避光标
(mouse-avoidance-mode 'animate)

;;粘贴于光标处，而不是鼠标指针处
(setq mouse-yank-at-point t)

;;========================================
;; 回显区
;;========================================

;;闪屏报警
(setq visible-bell t)

;;使用 y or n 提问
(fset 'yes-or-no-p 'y-or-n-p)

;;锁定行高
(setq resize-mini-windows nil)

;;递归 minibuffer
(setq enable-recursive-minibuffers t)

;; 当使用 M-x COMMAND 后，过 1 秒钟显示该 COMMAND 绑定的键。
(setq suggest-key-bindings 1)

;;========================================
;; 状态栏
;;========================================

;;显示时间
(display-time)
;;时间格式
(setq display-time-24hr-format t)
(setq display-time-day-and-date t)
(setq display-time-interval 10)

;;显示列号
(setq column-number-mode t)

;;标题栏显示
(setq frame-title-format "%b - Emacs")


;;========================================
;; 编辑器设定
;;========================================

;;不生成临时文件
(setq-default make-backup-files nil)

;;只渲染当前屏幕语法高亮，加快显示速度
(setq font-lock-maximum-decoration t)

;;将错误信息显示在回显区
(condition-case err
   (progn
   (require 'xxx) )
 (error
  (message "Can't load xxx-mode %s" (cdr err))))

;;使用X剪贴板
(setq x-select-enable-clipboard t) 
;;;;;;;; 使用空格缩进 ;;;;;;;;
;; indent-tabs-mode  t 使用 TAB 作格式化字符  nil 使用空格作格式化字符
(setq indent-tabs-mode nil)
(setq tab-always-indent nil)
(setq tab-width 4)

;;日历配色
(setq calendar-load-hook
 '(lambda ()
  (set-face-foreground 'diary-face "skyblue")
  (set-face-background 'holiday-face "slate blue")
  (set-face-foreground 'holiday-face "white")))
;; ========================================
;; 按键设定
;; ========================================
;; 禁用F1帮助
(global-unset-key (kbd "<f1>"))
;; 禁止最小化窗口
(global-unset-key (kbd "C-z"))
(global-unset-key (kbd "s-q"))
(global-unset-key (kbd "C-x C-z"))
(global-unset-key (kbd "M-r"))
;;F10 显示/隐藏菜单栏
(global-set-key (kbd "<f10>") 'menu-bar-mode)
;;WIN+s 进入 Shell
(global-set-key (kbd "s-s") 'shell)
(define-key ctl-x-map "\M-s" 'shell)

(provide 'setting)
